Current computing devices may trace the state of the computer processor or other hardware, firmware, and/or software components of the computing device. A computing device may include trace hardware to collect trace data from various hardware components (e.g., hardware functional blocks interacting via a debug trace fabric), firmware components, and/or software components, encode the trace data into trace packets, and then transmit the trace packets to various trace destinations. The trace packets may be analyzed manually by a user after being collected, for example using a debugger application. Certain computing devices support streaming trace data to a remote host, which may also analyze the trace packets after being collected.